Skip to content

Requirements Reuse: An Effective Way to Facilitate Requirements Elicitation

Learn how to Reuse Requirements in Azure DevOps

Azure DevOps is an incredible platform that provides a single-source of truth. 
For many teams that statement alone is enough to consider using the world’s leading ALM platform for their requirements management. Being able to tie development tasks to requirements, and those to Test Cases is hard to pass up. 

But what if you don’t need all of the features of a full ALM platform?
What if you only need a solution for your Requirements Management needs? 

You can use all of the rich features of Modern Requirements4DevOps to turn your Azure DevOps project into a full-featured Requirements Management solution. One of these features is the ability to reuse requirements across different projects, collections, and servers using the Modern Requirements4DevOps Reuse tool.

Looking to reuse requirements? 
You’re in the right place. 

What you’ll learn in this short article:

  1. Benefits of reusing requirements
  2. The two types of reusing requirements
  3. How reusing requirements can be used effectively

The Benefits of Reusing Requirements

When we talk about the benefits of requirements reuse there is one thing that needs to be addressed first.

The most common question I get from hardware teams is “How could this possibly benefit teams who aren’t software-related?”

So before we begin, requirements reuse is not just for software teams.

Requirements reuse is a topic that often catches people’s attention.

This is because in the world economy we are seeing companies focusing on given domain or areas within given industries. This leads to companies building products within a specific domain, or around a given solution, and really narrowing in on the few things they can be really successful at.

This means that as you build projects, solutions, or systems, often a team can reuse elements of a previous project. This is where requirements reuse fits into the picture.

By enabling a team to reuse those requirements in the next project they are able to reduce the amount of overhead required in getting started in a new project.

For some people this might already be obvious.

What might not be obvious, however, is that reuse can also be a great way of handling requirements that are scoped above the project level. This would include non-functional requirements, or risks that need to be considered as a company-wide mandate. This would even go so far as to allow your team to reuse requirements whose purpose is strictly regulatory or compliance-centric. This functionality can be extended to software and hardware teams alike and can even help teams product teams devoted to a physical component or deliverable.

 

The Two Types of Reusing Requirements

Reusing Requirements by Reference

Reusing requirements by reference is a quick way to introduce existing requirements to your project by simply building links with them. By doing this, you could have direct access to those work items and review all the associated content, links, and attachments without actually copying them within or across projects.

Reusing Requirements by Reference

 

Reusing Requirements by Copy

In Azure DevOps there is very limited functionality for copying requirements, or other work items, from one project to another. But when you add Modern Requirements4DevOps into your Azure DevOps environment, requirements reuse meets its full potential.

When discussing the Reusing Requirements by Copy, there are three major approaches to consider.

Reusing Requirements by Copy

 

How to Reuse Requirements Effectively

After watching the above videos it is obvious that the Modern Requirements4DevOps Reuse tool is effective for reusing requirements.
It offers full control over the requirements you are choosing to reuse, allows you to apply customization to those requirements, and allows you to link the requirements to the source work item.

This means no matter where you want to send requirements, you can do so using the Modern Requirements4DevOps Reuse tool. But there are some ways that you can use the Reuse tool more effectively. 

The first notable mention is by pairing the reuse tool with the Modern Requirements4DevOps Baseline tool. 

What is a Baseline?
Many teams use Baselines of requirements and don’t even realize they do.

A Baseline is a snapshot of Work Items at a given point in time. 
For many teams they simply use Microsoft Word document versions as a baseline. 

When talking about capturing requirements at a given time, there are many reasons why the Modern Requirements4DevOps feature is better than the traditional Microsoft Word approach. With Modern Requirements4DevOps Baselines, you are able to capture a set of, work items as they were on any date of your choosing.

This means if you want to capture your requirements as they are two weeks ago, you can easily create a Baseline for those requirements on that date. This lends itself directly to the benefits of the Reuse tool added by Modern Requirements4DevOps.

By combining the Reuse tool with our Baseline, you can not only choose the set of requirements you want to reuse but also the version of those requirements as well. This allows you to take the best and most applicable version of your requirements forward to your next project. 

The next notable mention is to use the prefix / postfix / and other operations effectively when reusing requirements.

When reusing requirements, the Modern Requirements4DevOps Reuse tool allows you to customize how the requirements being reused will appear in their destination project. 

The screen which allows you to do this can be seen below:

 

Using the above feature will allow you to easily add a prefix or postfix to the requirements once they reach your chosen destination project. As seen above, you can also choose to send these requirements to a specific area path (like hardware or software for instance), or even into a given iteration so you can decide when these requirements get handled. 

The most commonly used feature in the field options, however, is the ability to add a tag. 
Often when you are sending requirements from one project to another you want to be able to easily identify and trace those requirements in your destination project. Adding a Tag will allow you to do this.

What is the link with Source Work Item Option?

This option allows you to establish a link between the work item you are reusing and the work item you create in your destination project. 

What link does it create? 
It links your new destination work item to your original work item via the “Related” link or any link type that you have configured in the admin area.
In the below image you can see a Test Case I have copied from project to project, using both the prefix “CL- ” and the “Link to source work item” options set.

 

Using the “Link to source work item” feature allows you to easily trace requirements back to where they were pulled from. While there are many use cases for this feature when moving requirements directly from project to project, this more advanced use cases are for when you are moving requirements from a library or repository into a project instead. 

How to merge copied baselines?

Baseline is a very useful tool no matter you want to reuse a single work item or a long list of work items from your source project/library. In Modern Requirements, you could create links between your source and copied works items so that you could locate the origins of these copied work items.

Although there are links in between, the copied work items are still considered to be independent of the source work items, which means any changes you make to either the copied or source work items will not impact their counterpart.

You might want to ask: how to synchronize the changes when necessary? Assume you have a library where all your design specification work items are saved, and you have reused them in 5 different projects. If now you have to modify some designs in the library, and you want all copied design specifications to be synchronized, you can simply use the Merge functionality, which is located under Source Copied Baseline(s) or Target Copied Baseline(s) in the Details tab of the Baseline module.

Baseline is a very useful tool no matter you want to reuse a single work item or a long list of work items from your source project/library. In Modern Requirements, you could create links between your source and copied works items so that you could locate the origins of these copied work items.

Although there are links in between, the copied work items are still considered to be independent of the source work items, which means any changes you make to either the copied or source work items will not impact their counterpart.

You might want to ask: how to synchronize the changes when necessary? Assume you have a library where all your design specification work items are saved, and you have reused them in 5 different projects. If now you have to modify some designs in the library, and you want all copied design specifications to be synchronized, you can simply use the Merge functionality, which is located under Source Copied Baseline(s) or Target Copied Baseline(s) in the Details tab of the Baseline module.

Still remember the definition of a baseline? A snapshot of selected work items at a point in time. So no matter what changes we have made to the baselined work items, the saved snapshot won’t change. So even if we have merged the baselines, the changes are done against the latest versions of the work items, not to the baselines themselves. Sounds like a little bit hard to understand?

Please watch the 5-minute Merge Copied Baselines video.

Merge Copied Baselines

 

Want to experience reuse's full potential?

Try Modern Requirements4DevOps for free today.

We offer you the ability to try our Requirements Management solution in your own Azure DevOps environment, or in an environment we supply that includes sample data. 

Wait! Before you go:

Want to see how ModernRequirements4DevOps works?

We’ll give you a quick Demo!